function [structA] = structAssign(structA, structB)
%structAssign - 将结构体B的值赋给结构体A对应的字段
%
% Syntex:  [structA] = structAssign(structA, structB)
% 
% Params:
%   structA 结构体A
%   structB 结构体B
%
% Return：
%   structA 赋值后的结构体
%
    keys = fieldnames(structB); % 获得结构体B的所有字段
    for i = 1:length(keys)
        cur_key = keys{i};
        if isfield(structA, cur_key)
            % 2017年后支持: structName.(dynamicExpression)
            % dynamicExpression 是一个变量或表达式，返回字符串标量（结构体字段）
            % 类似于 getfield() 和 setfield() 功能
            structA.(cur_key) = structB.(cur_key);
        end
    end
end